package com.jy.wms.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseService;
import com.jy.wms.common.base.ServiceException;
import com.jy.wms.dao.WmsRejectedDetailedMapper;
import com.jy.wms.pojo.WmsRejectedDetailed;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
    * @ClassName: WmsRejectedDetailedService.java
    * @Description: TODO(这里用一句话描述这个类的作用)
    * @Author Jane
    * @Date Tue Jan 16 17:57:05 CST 2018
    */

    @Service
    public class WmsRejectedDetailedService extends BaseService<WmsRejectedDetailedMapper,WmsRejectedDetailed> {

    /**
     * 根据发运订单IDS获取对应的明细信息及退货数量
     * @param idList
     * @return
     */
    @BaseServiceDescribe(moduleName = "退货单",btnName = "发运单明细列表查询")
    public List<Map<String,Object>> getSoDetailed(List<String> idList)throws Exception {
        try {
            return dao.getSoDetailed(idList);
        } catch (Exception e) {
            e.printStackTrace();
            throw new ServiceException("发运单明细列表查询",e);
        }
    }

     /**
     * 插入一条记录
     * @param entity 实体对象
     * @return int
     */
    public Integer baseInsert(WmsRejectedDetailed entity){
         return dao.baseInsert( entity );
    }

   /**
    * 插入一条记录（匹配有值的字段）
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsertSelective(WmsRejectedDetailed entity){
         return dao.baseInsertSelective( entity);
    }

   /**
    * 删除（根据主键ID删除）
    * @param id 主键
    * @return int
    */
    public Integer baseDeleteByPrimaryKey(String id){
         return dao.baseDeleteByPrimaryKey( id);
    }

   /**
    * 删除（根据ID 批量删除）
    * @param idList 主键ID列表
    * @return int
    */
    public Integer baseDeleteBathPrimaryKeys(List<String> idList){
         return dao.baseDeleteBathPrimaryKeys( idList );
    }

    /**
    * 分页查询
    * @param entity 实体
    * @return Page<WmsRejectedDetailed>
    */
    public Page<WmsRejectedDetailed> baseSelectPage(WmsRejectedDetailed entity ){
        PageHelper.startPage(entity.getPage(),entity.getRows());
        return (Page<WmsRejectedDetailed>)dao.baseSelectPage( entity );
    }

   /**
    * 查询（根据主键ID查询）
    * @param id 主键ID
    * @return WmsRejectedDetailed
    */
    public WmsRejectedDetailed baseSelectByPrimaryKey(String id ){
         return dao.baseSelectByPrimaryKey( id );
    }

   /**
    * 查询（根据ID 批量查询）
    * @param idList 主键ID列表
    * @return list
    */
    public Integer baseSelectBathPrimaryKeys(List<WmsRejectedDetailed> idList ){
         return dao.baseSelectBathPrimaryKeys( idList );
    }

   /**
    *修改 （匹配有值的字段）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKeySelective(WmsRejectedDetailed entity){
         return dao.baseUpdateByPrimaryKeySelective( entity);
    }

   /**
    *修改（根据主键ID修改）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKey(WmsRejectedDetailed entity){
         return dao.baseUpdateByPrimaryKey( entity);
    }
}
